home *** CD-ROM | disk | FTP | other *** search
- This of a port of tcsh to the Atari ST. Atari ST specific features
- and limitations follow the original copyright notice:
- --------------------------------------------------------------------
- Copyright (c) 1980, 1991 The Regents of the University of California.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. All advertising materials mentioning features or use of this software
- must display the following acknowledgement:
- This product includes software developed by the University of
- California, Berkeley and its contributors.
- 4. Neither the name of the University nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
- --------------------------------------------------------------------------
-
- Here is a port of tcsh 6.00.02 to TOS and MiNT. I've mostly tested (and
- used) it under MiNT, so it may still have problems when run under plain
- TOS. Also, under TOS many features (pipes, job control, and
- background processes, for example) are unavailable.
-
- Under MiNT, pretty much all features of the BSD version are present.
- There are some ST specific enhancements and limitations, as follows:
-
- (1) It's possible to redefine the escape character so that it isn't
- backslash (\); this makes using TOS style paths possible. This
- is done by setting the variable `escchar' to the new escape
- character (e.g. `set escchar=^' will work nicely).
-
- (2) If the escape character has been redefined, it's possible to tell
- tcsh that you _prefer_ backslash to normal slash, so that in
- file name completion (and in the output of ls-F) \ is printed after
- directories instead of /; this is done by setting the variable
- `dosslashes' to any value at all.
-
- (3) The PATH environment variable must be in standard Unix form, i.e.
- colons (:) are used to separate the elements of the path. This conflicts
- with GEMDOS' use of the colon as a drive indicator. To get around this,
- you may use the prefix `/dev/a/' to stand for drive a:, i.e. instead
- of
- setenv PATH .,c:\bin,d:\bin
- use
- setenv PATH .:/dev/c/bin:/dev/d/bin.
- Note that forward slashes must be used to separate directory names,
- unless the escape character has been changed (see (1) above).
-
- tcsh will automatically convert the PATH variable into a format used
- by gulam and many other ST shells before executing another program.
- The steps in this translation are:
- (1) colons are converted to commas
- (2) `/dev/c/' prefixes are converted to `c:\' drive letters
- (3) forward slashes are converted to backslashes
- Thus, if the command
- setenv PATH .:/dev/d/bin:/dev/e/mint/bin
- is given to tcsh, programs run from tcsh will see the string
- PATH=.,d:\bin,e:\mint\bin
- in their environments.
-
- (4) When searching for a program, tcsh will automatically add the
- prefixes .ttp, .prg, .tos, .gtp, and .csh, in that order, to the
- command name if a file with the exact name given is not found.
- In other words, it is possible to type just `ls' to execute
- the program `ls.ttp'. If a `.csh' extension is found, tcsh
- executes another copy of itself (it expects the variable `shell'
- to point to itself) with this file as input.
-
- The shell variable `suffixes' contains the list of suffixes searched
- for; if you wish to change the order of the search, or add different
- suffixes to the search, you may change this variable.
-
- (5) tcsh has a fixed amount of memory available for its use (by default,
- 128K). This may be modified by the `fixstk' program that comes
- with the gcc utilities. Typing `fixstk -96000 tcsh.prg', for example,
- reduces the amount of memory available for tcsh to 96000 bytes.
- Note that the size given to `fixstk' must be the *negative* of the number
- of bytes you wish to give to tcsh.
-
- The fixed memory size makes the use of `alias precmd' somewhat unwise,
- because of the `precmd' memory hole noted in the tcsh docs.
-
- (6) If no TERMCAP environment variable is set, and if the file \ETC\TERMCAP
- is not found on the current drive, then tcsh ignores any setting
- of the `term' or `TERM' variables and always assumes that it is
- running on an 80x25 atari ST console.
-
- (7) If no HOME environment variable is set when tcsh is started, then
- the variable "home" is set to the current directory and HOME remains
- undefined.
-
- (8) If tcsh.prg is run from the desktop or from a program that does
- not follow the extended ARGV standard, it will act like a login
- shell (i.e. execute $HOME\LOGIN.CSH, and do other login type
- activities).
-
- (9) The standard file names that tcsh looks for have been modified
- to conform with the 8 character base + 3 character extension
- limits of GEMDOS, as follows:
-
- Unix name Atari ST name
- .history history.csh
- .cshdirs cshdirs.csh
- .login login.csh
- .logout logout.csh
- .tcshrc tcsh.rc
- .cshrc csh.rc
-
- (10) Under MiNT 0.93 or better, you can set the terminal so that the
- cursor keys send standard vt52 escape sequences (do this with
- "stty vt52"). Once this has been done, and appropriate keyboard
- bindings have been set up (see the supplied `tcsh.rc' for
- examples) the cursor keys may be used for editing, and the ALT
- key will work as a meta key for the letters A-Z.
-
- If you're using an older version of MiNT, or not using MiNT at
- all, the cursor keys won't work -- you'll have to learn the
- alternate methods (e.g. ^P for previous line, ^N for next line)
- or get a keyboard re-mapping program to map the cursor keys.
-
- (11) Please see the files `csh.man' (the original csh documentation)
- and `tcsh.man' (tcsh enhancements to csh) for further information.
- These are in nroff format. `csh.man' uses a funny macro package;
- it seems to be Berkeley specific, because I've been unable to
- get nroff to work with it on my System V machine, nor does the
- ST version of nroff understand it. Sorry; you'll have to read
- it as plain ASCII and do the "translation" yourself!
-
- Eric R. Smith
- Internet: eric.smith@uwo.ca
- GEnie: E.SMITH10
-